// Symbol[description]

(function() {
    var root = this

    var SymbolPolyfill = function Symbol(description) {
        if(this instanceof SymbolPolyfill) throw new TypeError('Symbol is not a construct')

        var descString = description === undefined ? description: String(description)

        var symbol = Object.create(null)
        Object.defineProperty(symbol,{
            '__Description__':{
                value:descString,
                Writable:false,
                enumerable:false,
                config:false
            }
        })

        return symbol
    }

    root.SymbolPolyfill = SymbolPolyfill
})()